// Loesung_von_Aufgabe_2.1.4_5_Diagramm

/* Der Wagen fährt auf der Fahrbahn infolge eines kurzen Anstoßes von rechts nach links.  
 Ein Gewicht verzögert ihn gleichmäßig in dem Zeitintervall von 0 - 1s, bis er bei 1s 
 zum Stillstand kommt und er sich dann mit zunehmender Geschwindigkeit gleichmäßig 
 beschleunigt nach rechts bewegt. 
 
 Aus dem Diagramm erhält man für die Gleichung s(t) = 0,5*a*t² + v0*t + s0 die folgenden Werte:
 s(t) = 0,5*29cms^-2*t² - 29cms^-1*t + 19cm */

float s; // Ort des Wagens
float s0 = 19; // Ort des Wagens zur Zeit t = 0
float v0 = 29; // Startgeschwindigkeit
float v; // Geschwindigkeit
float a = 29; // Beschleunigung
float t; // Zeit
float tz; // Zeitangabe für die Zeitlupendarstellung
float x;

void setup()
{
  size(500, 200);
}

void draw()
{
  background(255);

  t = t + 1/frameRate;
  tz = t/10;

  // Fahrbahn
  stroke(150, 150, 255);
  strokeWeight(20);
  line(0, 180, 500, 180);

  // Fahrbahnwagen
  s = 0.5*a*tz*tz - v0*tz + s0;
  x = s * 20;

  noStroke();
  fill(255, 0, 0);
  rect(x, 150, 50, 30);

  v = a*tz - v0;

  fill(0, 0, 255);
  textSize(20);
  text("v in cm/s = " +v, 150, 50);

  println("v = ", v, "t = ", t);

  if (x >= 450)
  {
    noLoop();
  }
}